package com.wilmer.classTests.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.wilmer.common.annotation.Excel;
import com.wilmer.common.core.domain.BaseEntity;

/**
 * 随堂测试管理对象 yw_class_tests
 * 
 * @author zl
 * @date 2024-04-10
 */
public class YwClassTests extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 随堂测试id */
    private Long testId;

    /** 课程ID */
    @Excel(name = "课程ID")
    private Long courseId;

    /** 随堂测试名称 */
    @Excel(name = "随堂测试名称")
    private String testName;

    /** 随堂测试日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "随堂测试日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date testDate;

    /** 随堂测试开始的具体时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "随堂测试开始的具体时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 随堂测试结束的具体时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "随堂测试结束的具体时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 时间(分钟) */
    @Excel(name = "时间(分钟)")
    private Long duration;

    /** 测试的地点或线上 */
    @Excel(name = "测试的地点或线上")
    private String testLocation;

    /** 测试的形式(例：选择题，判断题) */
    @Excel(name = "测试的形式(例：选择题，判断题)")
    private String testFormat;

    /** 测试的总分值 */
    @Excel(name = "测试的总分值")
    private Integer totalMarks;

    /** 测试的及格分数线 */
    @Excel(name = "测试的及格分数线")
    private Integer passingMarks;

    /** 对测试规则和要求的说明 */
    @Excel(name = "对测试规则和要求的说明")
    private String testInstructions;

    /** 教师ID */
    @Excel(name = "教师ID")
    private Long creatorTeacherId;

    /** 测试的当前状态(1未开始 2进行中 3已结束) */
    @Excel(name = "测试的当前状态(1未开始 2进行中 3已结束)")
    private String testStatus;
    private String courseName;
    private Long deptId;

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setTestId(Long testId)
    {
        this.testId = testId;
    }

    public Long getTestId() 
    {
        return testId;
    }
    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setTestName(String testName) 
    {
        this.testName = testName;
    }

    public String getTestName() 
    {
        return testName;
    }
    public void setTestDate(Date testDate) 
    {
        this.testDate = testDate;
    }

    public Date getTestDate() 
    {
        return testDate;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setTestLocation(String testLocation) 
    {
        this.testLocation = testLocation;
    }

    public String getTestLocation() 
    {
        return testLocation;
    }
    public void setTestFormat(String testFormat) 
    {
        this.testFormat = testFormat;
    }

    public String getTestFormat() 
    {
        return testFormat;
    }
    public void setTotalMarks(Integer totalMarks) 
    {
        this.totalMarks = totalMarks;
    }

    public Integer getTotalMarks() 
    {
        return totalMarks;
    }
    public void setPassingMarks(Integer passingMarks) 
    {
        this.passingMarks = passingMarks;
    }

    public Integer getPassingMarks() 
    {
        return passingMarks;
    }
    public void setTestInstructions(String testInstructions) 
    {
        this.testInstructions = testInstructions;
    }

    public String getTestInstructions() 
    {
        return testInstructions;
    }
    public void setCreatorTeacherId(Long creatorTeacherId) 
    {
        this.creatorTeacherId = creatorTeacherId;
    }

    public Long getCreatorTeacherId() 
    {
        return creatorTeacherId;
    }
    public void setTestStatus(String testStatus) 
    {
        this.testStatus = testStatus;
    }

    public String getTestStatus() 
    {
        return testStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("testId", getTestId())
            .append("courseId", getCourseId())
            .append("testName", getTestName())
            .append("testDate", getTestDate())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("duration", getDuration())
            .append("testLocation", getTestLocation())
            .append("testFormat", getTestFormat())
            .append("totalMarks", getTotalMarks())
            .append("passingMarks", getPassingMarks())
            .append("testInstructions", getTestInstructions())
            .append("creatorTeacherId", getCreatorTeacherId())
            .append("testStatus", getTestStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
